package ar.com.gals.repository;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.CriteriaSpecification;
import org.hibernate.criterion.Restrictions;

import ar.com.gals.domain.Archivo;

public class ArchivoRepository extends AbstractRepository<Archivo> {

	public ArchivoRepository(Session session) {
		super(session, Archivo.class);
	}


	@SuppressWarnings("unchecked")
	public Archivo getByName(String nombre) {
		Criteria criteria = this.session.createCriteria(domain)
				.add(Restrictions.ilike("nombre", nombre))
				.add(Restrictions.isNull("fechaDelete"))
				.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
		List<Archivo> list = (List<Archivo>) criteria.list();
		if(list.isEmpty()) return null;
		return (Archivo) list.get(0);
	}
}
